The development and application of rule engines and rules is one branch of Artificial Intelligence (A.I.), which is a very broad research area that focuses on “making computers think like people.” A rule is a logical construct for describing the operations, definitions, conditions, and/or constraints that apply to some predetermined data to achieve a goal. Broadly speaking, a rule engine processes information by applying rules to data objects (also known as facts). These data objects may include user defined objects referred to as user objects. A data object has to be asserted into a working memory of the rule engine in order for the rule engine to evaluate the data object against some predetermined rules.
Conventionally, a data object is sent to a rule engine in a serialized form, such as in a binary stream. The rule engine deserializes the incoming binary stream to put the data object into a format usable by the rule engine. Likewise, to output data objects, the rule engine serializes the data objects to generate an outgoing binary stream. Regardless of the type of data objects, the conventional rule engine serializes the data objects in order to send them out and deserializes incoming binary stream in order to extract data objects from the binary stream.